package com.dyj.applet.domain.query;

import com.dyj.common.domain.query.BaseSubscriptionQuery;
import com.dyj.common.enums.SubscriptionAccessTokenTypeEnum;

public class DeleteAppSubscriptionTplQuery extends BaseSubscriptionQuery {

    /**
     * 小程序消息模版id，通过查询小程序的模版列表接口获取
     */
    private String msg_id;

    public String getMsg_id() {
        return msg_id;
    }

    public DeleteAppSubscriptionTplQuery setMsg_id(String msg_id) {
        this.msg_id = msg_id;
        return this;
    }

    public static DeleteAppSubscriptionTplQueryBuilder builder() {
        return new DeleteAppSubscriptionTplQueryBuilder();
    }

    public static final class DeleteAppSubscriptionTplQueryBuilder {
        private String msg_id;
        private SubscriptionAccessTokenTypeEnum accessTokenTypeEnum;
        private Integer tenantId;
        private String clientKey;

        private DeleteAppSubscriptionTplQueryBuilder() {
        }

        public DeleteAppSubscriptionTplQueryBuilder msgId(String msgId) {
            this.msg_id = msgId;
            return this;
        }

        public DeleteAppSubscriptionTplQueryBuilder accessTokenTypeEnum(SubscriptionAccessTokenTypeEnum accessTokenTypeEnum) {
            this.accessTokenTypeEnum = accessTokenTypeEnum;
            return this;
        }

        public DeleteAppSubscriptionTplQueryBuilder tenantId(Integer tenantId) {
            this.tenantId = tenantId;
            return this;
        }

        public DeleteAppSubscriptionTplQueryBuilder clientKey(String clientKey) {
            this.clientKey = clientKey;
            return this;
        }

        public DeleteAppSubscriptionTplQuery build() {
            DeleteAppSubscriptionTplQuery deleteAppSubscriptionTplQuery = new DeleteAppSubscriptionTplQuery();
            deleteAppSubscriptionTplQuery.setMsg_id(msg_id);
            deleteAppSubscriptionTplQuery.setAccessTokenTypeEnum(accessTokenTypeEnum);
            deleteAppSubscriptionTplQuery.setTenantId(tenantId);
            deleteAppSubscriptionTplQuery.setClientKey(clientKey);
            return deleteAppSubscriptionTplQuery;
        }
    }
}
